<?php
/**
 * --------------------------------------------------------------------
 * 角色模型
 * --------------------------------------------------------------------
 * @author Midnight, yangyunzhou@foxmail.com
 * --------------------------------------------------------------------
 * @copyright Midnight Studio
 * --------------------------------------------------------------------
 */
class RoleModel extends RbacModel
{
    /**
     * 主键
     * @var String
     */
    public $pk = 'id';

    /**
     * 字段
     * @var Array
     */
    public $fields = array(
        'id', 'name', 'pid', 'state', 'remark'
    );

    /**
     * 自动验证
     * @var Array
     */
    public $_validate = array(
        array('name', 'require', '角色名不能为空！')
    );

    /**
     * --------------------------------------------
     * 获取角色列表
     * - 支持缓存, 支持强制刷新缓存
     * - 只获取启用状态下的角色
     * --------------------------------------------
     * @author Midnight, yangyunzhou@foxmail.com
     * @param $up_chace 强制清空缓存
     */
    public function get_role_list($up_cache = FALSE)
    {
        $val = F('role_list');
        if (!$val || ($up_cache == TRUE)) {
            $val = $this->table("`{$this->tablePrefix}role`")->where("`state`='1'")->select();
            F('role_list', $val);
        }
        return $val;
    }
}